Data entered into and output by Internet-of-Things (IoT) applications can change structure with each new version of the input device, yet the structure of the data typically does not change with the version of the application running and storing the data. Deployed IoT devices may provide data for a long time, such as for years. The data format may remain unchanged during the lifecycle of the device, unless, for example, a firmware upgrade changes the format and content of the data. New devices that are deployed can have new formats of data as well as new data sets. As a result, applications working with IoT data may need to deal with different data formats.